﻿#ifndef SERVERINFO_H
#define SERVERINFO_H

#include <QBaseEntity>

class ServerInfo : public QBaseEntity
{
    Q_OBJECT
    // 定义属性
    Q_PROPERTY(QString currentCpuArchitecture READ getCurrentCpuArchitecture WRITE setCurrentCpuArchitecture)
    Q_PROPERTY(QString kernelType READ getKernelType WRITE setKernelType)
    Q_PROPERTY(QString kernelVersion READ getKernelVersion WRITE setKernelVersion)
    Q_PROPERTY(QString productType READ getProductType WRITE setProductType)
    Q_PROPERTY(QString productVersion READ getProductVersion WRITE setProductVersion)
    Q_PROPERTY(QString prettyProductName READ getPrettyProductName WRITE setPrettyProductName)
    Q_PROPERTY(QString machineHostName READ getMachineHostName WRITE setMachineHostName)
    Q_PROPERTY(QString machineUniqueId READ getMachineUniqueId WRITE setMachineUniqueId)
public:
    explicit ServerInfo(QObject *parent = nullptr);

    QString getCurrentCpuArchitecture() const;
    void setCurrentCpuArchitecture(const QString &value);

    QString getKernelType() const;
    void setKernelType(const QString &value);

    QString getKernelVersion() const;
    void setKernelVersion(const QString &value);

    QString getProductType() const;
    void setProductType(const QString &value);

    QString getProductVersion() const;
    void setProductVersion(const QString &value);

    QString getPrettyProductName() const;
    void setPrettyProductName(const QString &value);

    QString getMachineHostName() const;
    void setMachineHostName(const QString &value);


    QString getMachineUniqueId() const;
    void setMachineUniqueId(const QString &value);

private:
    QString currentCpuArchitecture; /**< 系统的CPU架构。*/
    QString kernelType;/**< 操作系统内核的类型*/
    QString kernelVersion;/**< 操作系统内核的具体版本号。*/
    QString productType;/**< 操作系统的类型名称。*/
    QString productVersion;/**< 操作系统的版本号。*/
    QString prettyProductName;/**< 一个用户友好的产品名称和版本号字符串，适合显示给最终用户查看。*/
    QString machineHostName;/**< 机器的主机名，即在网络中用来标识本机的名称。*/
    QString machineUniqueId;/**< 机器的唯一标识符。*/
};

#endif // SERVERINFO_H
